<?php
/*
 * Copyright (c) 2017-2025 Tencent. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
namespace TencentCloud\Ccc\V20200210\Models;
use TencentCloud\Common\AbstractModel;

/**
 * DescribeExtension response structure.
 *
 * @method string getExtensionId() Obtain Extension.
 * @method void setExtensionId(string $ExtensionId) Set Extension.
 * @method string getExtensionDomain() Obtain Domain name.
 * @method void setExtensionDomain(string $ExtensionDomain) Set Domain name.
 * @method string getPassword() Obtain Registered password.
 * @method void setPassword(string $Password) Set Registered password.
 * @method string getOutboundProxy() Obtain Proxy server address.
 * @method void setOutboundProxy(string $OutboundProxy) Set Proxy server address.
 * @method string getTransport() Obtain Transfer protocol.
 * @method void setTransport(string $Transport) Set Transfer protocol.
 * @method string getRequestId() Obtain The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 * @method void setRequestId(string $RequestId) Set The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 */
class DescribeExtensionResponse extends AbstractModel
{
    /**
     * @var string Extension.
     */
    public $ExtensionId;

    /**
     * @var string Domain name.
     */
    public $ExtensionDomain;

    /**
     * @var string Registered password.
     */
    public $Password;

    /**
     * @var string Proxy server address.
     */
    public $OutboundProxy;

    /**
     * @var string Transfer protocol.
     */
    public $Transport;

    /**
     * @var string The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    public $RequestId;

    /**
     * @param string $ExtensionId Extension.
     * @param string $ExtensionDomain Domain name.
     * @param string $Password Registered password.
     * @param string $OutboundProxy Proxy server address.
     * @param string $Transport Transfer protocol.
     * @param string $RequestId The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    function __construct()
    {

    }

    /**
     * For internal only. DO NOT USE IT.
     */
    public function deserialize($param)
    {
        if ($param === null) {
            return;
        }
        if (array_key_exists("ExtensionId",$param) and $param["ExtensionId"] !== null) {
            $this->ExtensionId = $param["ExtensionId"];
        }

        if (array_key_exists("ExtensionDomain",$param) and $param["ExtensionDomain"] !== null) {
            $this->ExtensionDomain = $param["ExtensionDomain"];
        }

        if (array_key_exists("Password",$param) and $param["Password"] !== null) {
            $this->Password = $param["Password"];
        }

        if (array_key_exists("OutboundProxy",$param) and $param["OutboundProxy"] !== null) {
            $this->OutboundProxy = $param["OutboundProxy"];
        }

        if (array_key_exists("Transport",$param) and $param["Transport"] !== null) {
            $this->Transport = $param["Transport"];
        }

        if (array_key_exists("RequestId",$param) and $param["RequestId"] !== null) {
            $this->RequestId = $param["RequestId"];
        }
    }
}
